"use strict";

saapsta.controller("ObraController", function($rootScope, $scope, ObraDAO, rota) {
    ObraDAO.criarTabela();
    $rootScope.secao = "Obras";

    $scope.listarObras = rota.listarObras;
    $scope.criarObra = rota.criarObra;
    $scope.editarObra = rota.editarObra;

    $scope.voltar = rota.voltar;

    $scope.listarEmpresas = rota.listarEmpresas;

    $scope.voltar = function() {
        history.back();
    };

    $scope.inserir = function() {
        var id = $scope.id;
        ObraDAO.inserir(id, $scope.obra.nome);
        $scope.listar();
        $scope.listarObras();
    };

    $scope.deletar = function() {
        var id = $scope.obra.id;
        ObraDAO.deletar(id);
        $scope.listar();
        $scope.listarObras();
    };

    $scope.editar = function() {
        ObraDAO.editar($scope.obra);
        $scope.listar();
        $scope.listarObras();
    };

    $scope.listar = function() {
        var id = $scope.id;
        $scope.obras = ObraDAO.listar(id, function(obras) {
            $scope.$apply(function() {
                $scope.obras = angular.copy(obras);
            });
        });
    };

    function init() {
        $scope.listar();

        var id = parseInt(rota.parametros.id, 10);

        if (id) {
            $scope.id = id;
            $scope.obra = ObraDAO.buscar(id, function(obra) {
                $scope.$apply(function() {
                    $scope.obra = angular.copy(obra);
                });
            });
        } else {
            $scope.obra = {};
        }
    }

    init();
});